Embodiments herein generally relate to legacy systems and, more particularly, to an interface structure and method for automated data mining of legacy systems using visual configuration tools.
The term “legacy system”, as used herein, generally refers to an existing interactive computer system that is deployed in an organization and that is based on an outdated technology. Legacy systems can include a variety of different types of business, production and/or operational systems, which store a significant amount of historical and transactional data. For example, legacy systems can include personnel management systems, file management systems, production planning systems, inventory systems, order tracking systems, etc. Unfortunately, since the technology employed by such legacy systems are outdated, the legacy interface applications that must be used to retrieve stored data are often relatively difficult to interact with and time-consuming as compared to modern interface applications. Additionally, many legacy systems were originally designed to be proprietary (i.e., under the sole control and use of the organization employing it) and closed (i.e., unable to communicate with external systems for data exchange). Thus, they do not provide a means by which stored data could be processed, either manually or through automation, to feed external data warehouses. While many organizations are redesigning or replacing their legacy systems, doing so is not always feasible given the costs involved.
In view of the foregoing disclosed herein are embodiments of a generic interface structure and an associated method for automated data mining of legacy systems using visual configuration tools. In these embodiments, a user employs a graphical user interface (GUI) to navigate through a legacy system interface application in order to access a data field containing data stored by the legacy system. Once a screen with the particular data field is displayed, the GUI receives, from the user, a tag labeling the data field. Additionally, as the user navigates through the interface application, a screen tracing device traces the sequence of events that ultimately results in the data field being displayed. The traced sequence and its corresponding tag are then stored in a data storage device. These processes can be repeated for multiple different data fields accessible through the legacy system interface application. Subsequently, a sequence applying device retrieves one or more particular sequences from the data storage device in response to a request referencing the corresponding tag(s) and automatically applies the particular sequence(s) in order to access, for processing, corresponding data field(s).
More particularly, disclosed are embodiments of a generic interface structure through which automated data mining of any legacy system can be achieved. This interface structure can comprise a GUI, a sequence tracing device, a data storage device, and a sequence applying device.
The (GUI) can be operatively connected to a legacy system and, particularly, to the interface application of the legacy system. The GUI can receive inputs from a user in order to access a data field through the interface application of the legacy system. As the inputs are being received, the GUI can display screens generated by the interface application, based on the inputs, until a screen containing the data field is displayed. Then, when the screen with the data field is displayed, the GUI can receive, from the user, a tag labeling the data field. The sequence tracing device can be operatively connected to the GUI and can, as the inputs are being received by the GUI, automatically trace the sequence of events ultimately resulting in the display of the screen with the data field. Such events can include any actions (e.g., filling in form fields, activating screen terminators, etc.) required for screen-to-screen navigation through the interface application in order to pull-up the screen with the data field. The data storage device can be operatively connected to the sequence tracing device and can store the traced sequence with the corresponding tag. Storage can be in, for example, an Extensible Markup Language (XML) file, a database table or other suitable storage media format.
Using the components described above, sequence-tag records can be acquired and stored for multiple data fields that are accessible through the legacy system interface application. That is, the GUI can separately receive different sets of inputs from a user to access different data fields. As each set of inputs is received, the GUI can display screens, generated by the interface application based on the set of inputs, until a screen containing a particular one of the data fields is displayed. Then, when the screen with the particular data field is displayed, the GUI can receive, from the user, a tag labeling that particular data field. With each set of inputs, the sequence tracing device can automatically trace the sequence of events resulting in display of the screen with the particular data field and the data storage device can store the sequence with its corresponding tag. Thus, the data storage device can be used to store sequence-tag records for any number of defined data fields.
The sequence applying device can be operatively connected to the data storage device and to the GUI. The sequence applying device can automatically access the data storage device to retrieve any given sequence in response to a request referencing a corresponding tag for that sequence and further can automatically apply the given sequence to the legacy system interface application in order to access the particular data field with which the tag is associated. During application of the sequence, the sequence applying device can initiate any of the actions noted in the sequence as being required for screen-to-screen navigation through the interface application in order to pull-up the screen containing the particular data field. Rather than displaying each screen in this navigation process, the sequence applying device can cause the GUI to simply display a list identifying all of the screens in the sequence. Additionally, as mentioned above, the sequence actions can include activating screen terminators and filling in form fields. Thus, the sequence applying device can automatically initiate defined screen terminators without user input and can also automatically cause the GUI to prompt the user to input any information required to fill in form fields in the sequence.
Once data is acquired through application of a given sequence by the sequence applying device, the data can be processed manually or automatically. For example, the embodiments can further comprise a data processor operatively connected to the sequence applying device. This data processor can automatically process data contained in a data field following application of the sequence by the sequence applying device. Such processing can include, but is not limited to, reformatting the data so that it can be fed into and stored by a data warehouse (i.e., a relational database).
Also disclosed herein are embodiments of an associated computer-implemented method of interfacing with a legacy system. In the method embodiments, a GUI can receive inputs from a user in order to access a data field through an interface application of a legacy system. As the inputs are received, screens generated by the interface application in response to the inputs can be displayed by the GUI until such a screen containing the data field is displayed. When the screen with the data field is displayed, the GUI can receive, from the user, a tag labeling the data field. Additionally, as the screens are being displayed by the GUI, the sequence of events ultimately resulting in the display of the screen with the data field can automatically be traced by a sequence tracing device. Such events can include any actions (e.g., filling in form fields, activating screen terminators, etc.) required for screen-to-screen navigation through the interface application in order to pull-up the screen with the data field. Then, the sequence and its corresponding tag can be stored in a data storage device. Storage can be in, for example, an Extensible Markup Language (XML) file, a database table or other suitable storage media format.
The processes described above can be repeated so that sequence-tag records can be acquired and stored for multiple different data fields that are accessible through the legacy system interface application. That is, the GUI can separately receive different sets of inputs from a user in order to access different data fields. As each set of inputs is received, screens that are generated by the interface application based on the set of inputs can be displayed by the GUI until a screen containing a particular one of the data fields is displayed. Then, when the screen with the particular data field is displayed, the GUI can receive, from the user, a tag labeling that particular data field. With each set of inputs, the sequence tracing device can automatically trace the sequence of events resulting in display of the screen with the particular data field and the data storage device can store the sequence with its corresponding tag. Thus, the data storage device can be used to store sequence-tag records for multiple different data fields.
Subsequently, this data storage device can be automatically accessed by a sequence applying device in order to retrieve any given sequence in response to a request referencing a corresponding tag for that sequence. Furthermore, once retrieved, a sequence can be automatically applied to the legacy system interface application by the sequence applying device in order to access the particular data field with which the sequence's corresponding tag is associated. During application of the sequence, any of the actions noted in the sequence as being required for screen-to-screen navigation through the interface application can be initiated by the sequence applying device in order to pull-up the screen containing the particular data field. However, at this point rather than displaying each screen in the navigation process, a list simply identifying all of the screens in the sequence can be displayed by the GUI. Additionally, as mentioned above, sequence actions can include activating screen terminators and filling in form fields. Thus, defined screen terminators can be automatically initiated by the sequence applying device without user input and a user can be automatically prompted, by the GUI, to input any information required to fill in form fields in the sequence.
Once data is acquired through application of a given sequence, the data can be processed manually or automatically, by a data processor. Such processing can include, but is not limited, reformatting the data so that it can be fed into and stored by a data warehouse (i.e., a relational database).
Also disclosed herein are embodiments of a computer program product. This computer program product can comprise a computer usable medium. The computer useable medium can have computer useable program code embodied therewith, which can be configured to perform the above-described method embodiments.